package com.anti.modular.bus.billwater.service;

import com.anti.jdbc.support.page.PageParam;
import com.anti.jdbc.support.page.PageResult;
import com.anti.modular.bus.billwater.entity.BillWater;
import com.anti.modular.bus.billwater.param.BillWaterOnParam;
import com.anti.modular.bus.billwater.param.BillWaterParam;
import com.anti.modular.bus.billwater.result.BillWaterDetailResult;
import com.anti.modular.bus.billwater.result.BillWaterExcelResult;
import org.springframework.web.bind.annotation.PathVariable;

import java.util.List;

/**
 * 账单流水service接口
 *
 * @author anti
 * @date 2021-04-24 13:44:46
 */
public interface BillWaterService{

    /**
    * 根据主键查询实体
    */
    BillWater getById(BillWaterParam billWaterParam);

    /**
     * 查询账单流水
     *
     * @author anti
     * @date 2021-04-24 13:44:46
     */
    PageResult page(PageParam pageParam, BillWaterOnParam billWaterParam);

    List<BillWaterExcelResult>  getExportData(BillWaterOnParam billWaterParam);

    /**
     * 账单流水列表
     *
     * @author anti
     * @date 2021-04-24 13:44:46
     */
    List<BillWater> list(BillWaterParam billWaterParam);

    /**
     * 添加账单流水
     *
     * @author anti
     * @date 2021-04-24 13:44:46
     */
    Long add(BillWaterParam billWaterParam);

    Long add(BillWater billWater);

    /**
     * 删除账单流水
     *
     * @author anti
     * @date 2021-04-24 13:44:46
     */
    void delete(BillWaterParam billWaterParam);

    void deleteAllByType(Long id,String tableName);

    /**
     * 编辑账单流水
     *
     * @author anti
     * @date 2021-04-24 13:44:46
     */
    void edit(BillWaterParam billWaterParam);

    /**
     * 查看账单流水
     *
     * @author anti
     * @date 2021-04-24 13:44:46
     */
     BillWater detail(BillWaterParam billWaterParam);

     BillWaterDetailResult getBillWaterDetail(Long  id);
     void editShenHe(Long  id,Integer type);

}
